With c/s 20218, timer ticks might be missed when IRQs of a timer are
queued. "Next scheduled time" is accumulated wrongly.
Thanks to Christoph for the report.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
Reported-by: Christoph Egger <Christoph.Egger@amd.com>
else
{
pt->scheduled += pt->period;
- pt_process_missed_ticks(pt);
if ( mode_is(v->domain, one_missed_tick_pending) ||
mode_is(v->domain, no_missed_ticks_pending) )
}
if ( pt->pending_intr_nr == 0 )
+ {
+ pt_process_missed_ticks(pt);
+ pt->do_not_freeze = 0;
set_timer(&pt->timer, pt->scheduled);
+ }
}
if ( mode_is(v->domain, delay_for_missed_ticks) &&